package com.sunchen.asc.service.item.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

@Data
@ApiModel(value="申请材料",description="申请材料Material")
public class MaterialVo implements Serializable {

    //private Long id;

    @ApiModelProperty(value="绑定事项",name="itemId")
    @NotNull(message = "不能为空")
    private Long itemId;

    @ApiModelProperty(value="名称",name="name")
    @NotEmpty(message = "名称不能为空")
    private String name;

    @ApiModelProperty(value="材料类型",name="type")
    private String type;

    @ApiModelProperty(value="材料模板地址",name="url")
    private String url;

    @ApiModelProperty(value="文件名称",name="fileName")
    private String fileName;

    @ApiModelProperty(value="条款排序",name="sortOrder")
    private String sortOrder;

    @ApiModelProperty(value="备注",name="remark")
    private String remark;

    @ApiModelProperty(value="业务类型",name="businessType")
    private String businessType;

    @ApiModelProperty(value="文书格式",name="documentFormat")
    private String documentFormat;

    @ApiModelProperty(value="材料要求，填报须知",name="fillingExplanation")
    private String fillingExplanation;

    @ApiModelProperty(value="收费标准，受理标准",name="acceptStandard")
    private String acceptStandard;

    @ApiModelProperty(value="材料分组编码",name="sortCode")
    private String sortCode;

    @ApiModelProperty(value="原件份数，默认 0，表示不需要",name="origin")
    @NotNull(message = "不能为空")
    private int origin;

    @ApiModelProperty(value="复印件份数，默认 0，表示不需要",name="copy")
    @NotNull(message = "不能为空")
    private int copy;

    @ApiModelProperty(value="是否必备材料(0 否，1 是)",name="must")
    @NotNull(message = "不能为空")
    private int must;

    @ApiModelProperty(value="标志位，默认 0",name="flag")
    @NotNull(message = "不能为空")
    private int flag;

    @ApiModelProperty(value="事项分类编号",name="catalogCode")
    private String catalogCode;

    @ApiModelProperty(value="怎么办理该材料的说明",name="how")
    private String how;

    @ApiModelProperty(value="该材料的使用说明",name="what")
    private String what;

    @ApiModelProperty(value="去哪里办该材料",name="wherever")
    private String wherever;

    @ApiModelProperty(value="出具机构名称",name="publisher")
    private String publisher;

    @ApiModelProperty(value="出具时间要求",name="publishTime")
    private String publishTime;

    @ApiModelProperty(value="示范材料",name="sample")
    private String sample;

    @ApiModelProperty(value="材料样本",name="sampleName")
    private String sampleName;

    @ApiModelProperty(value="空表",name="blank")
    private String blank;

    @ApiModelProperty(value="空表名称",name="blankName")
    private String blankName;

    @ApiModelProperty(value="SXGL-4171 标准文书",name="paperStandar")
    private String paperStandar;

    @ApiModelProperty(value="SXGL-4171 材料来源渠道",name="original")
    private String original;

    @ApiModelProperty(value="SXGL-4171 是否是电子文件",name="isElectronic")
    private String isElectronic;

    @ApiModelProperty(value="SXGL-4171 材料依据",name="materialBasis")
    private String materialBasis;

    public MaterialVo() {
    }

    public MaterialVo(Long id, Long itemId, String name, String type, String url, String fileName, String sortOrder, String remark, String businessType, String documentFormat, String fillingExplanation, String acceptStandard, String sortCode, int origin, int copy, int must, int flag, String catalogCode, String how, String what, String wherever, String publisher, String publishTime, String sample, String sampleName, String blank, String blankName, String paperStandar, String original, String isElectronic, String materialBasis) {
        //this.id = id;
        this.itemId = itemId;
        this.name = name;
        this.type = type;
        this.url = url;
        this.fileName = fileName;
        this.sortOrder = sortOrder;
        this.remark = remark;
        this.businessType = businessType;
        this.documentFormat = documentFormat;
        this.fillingExplanation = fillingExplanation;
        this.acceptStandard = acceptStandard;
        this.sortCode = sortCode;
        this.origin = origin;
        this.copy = copy;
        this.must = must;
        this.flag = flag;
        this.catalogCode = catalogCode;
        this.how = how;
        this.what = what;
        this.wherever = wherever;
        this.publisher = publisher;
        this.publishTime = publishTime;
        this.sample = sample;
        this.sampleName = sampleName;
        this.blank = blank;
        this.blankName = blankName;
        this.paperStandar = paperStandar;
        this.original = original;
        this.isElectronic = isElectronic;
        this.materialBasis = materialBasis;
    }
}
